# root_agent/utils/history_compressor.py
from root_agent.llm import LLMInterface

def summarize(processing_history: list, llm: LLMInterface) -> list:
    """
    使用 LLM 将多轮的 (action, observation) 历史压缩成一段摘要。
    """
    history_text = "\n".join(processing_history)
    
    prompt = f"""
    请将以下多步任务的处理历史总结成一段简洁的摘要，保留关键信息和结论，以便后续的 AI 助手能够快速理解上下文。

    原始历史:
    {history_text}

    摘要:
    """
    
    try:
        llm_response = llm.generate_content(prompt, task_type="summary")
        summary = llm_response["output_content"]
    except Exception as e:
        # Fallback if LLM call fails
        summary = f"Error summarizing history: {e}. Original history: {history_text[:200]}..."

    # 返回包含摘要的新历史列表
    return [f"Summary of previous steps: {summary.strip()}"]
